import Vue from 'vue' // 导入vue构造函数

// 国际化
// import locale from 'element-ui/lib/locale/lang/en' // lang i18n

// 导入element组件库和组件库样式
import ElementUI from 'element-ui'
// import 'element-ui/lib/theme-chalk/index.css'
if (process.env.NODE_ENV === 'development') {
  require('element-ui/lib/theme-chalk/index.css')
}

import 'normalize.css/normalize.css' // 重置默认样式

import '@/styles/index.scss' // 导入全局样式(自己写的)

import i18n from '@/lang'

import App from './App' // 导入App根组件

import store from './store' // 导入vuex

import router from './router' // 导入路由

// 导入项目所有 svg icons 和 权限管理
import '@/icons' // icon
import '@/permission' // permission control

// 导入自定义指令（批量注册多个）
import * as directives from '@/directives/'

// Object.keys()=>遍历一个对象，把对象上所有的key属性名都放到数组中返回
Object.keys(directives).forEach((item) => {
  Vue.directive(item, directives[item])
})

// 导入全局组件
import components from '@/components/index.js'
// 导入全局混入
import canClick from '@/components/mixin'
// 导入全局插件
import echartPlugin from '@/utils/echartsPlugins'

// 如果想要中文版 element-ui，按如下方式声明
// Vue.use(ElementUI)
// 注册elementUI全局组件
// Vue.use(ElementUI)
Vue.use(ElementUI, {
  i18n: (k, v) => i18n.t(k, v)
})
// 注册全局混入
Vue.mixin(canClick)
// 注册全局组件
Vue.use(components)
// 注册全局插件
Vue.use(echartPlugin)

// 关闭生产提示
Vue.config.productionTip = false

// 创建Vue实例对象, 并挂载router, store(Vuex-store)
new Vue({
  // el: '#app',
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount('#app')
